package com.hospital.workstation.domain.bo;

import com.hospital.common.core.validate.AddGroup;
import com.hospital.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

import java.time.LocalDate;
import java.util.Date;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hospital.common.core.domain.BaseEntity;

/**
 * 药学监护详情业务对象 hospital_pharmaceutical_care_detail
 *
 * @author whb
 * @date 2023-02-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class PharmaceuticalCareDetailBo extends BaseEntity {

    /**
     * 监护详情ID
     */
    // @NotNull(message = "监护详情ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 病历号
     */
    // @NotNull(message = "病历号不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer medicalRecordNo;

    /**
     * 监护时间
     */
    // @NotNull(message = "监护时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private LocalDate careDate;

    /**
     * 入院天数
     */
    // @NotNull(message = "入院天数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer inHospitalDays;

    /**
     * 生命体征
     */
    // @NotBlank(message = "生命体征不能为空", groups = { AddGroup.class, EditGroup.class })
    private String vitalSigns;

    /**
     * 监护计划执行情况
     */
    // @NotBlank(message = "监护计划执行情况不能为空", groups = { AddGroup.class, EditGroup.class })
    private String executiveCondition;

    /**
     * 药物治疗方案调整
     */
    // @NotBlank(message = "药物治疗方案调整不能为空", groups = { AddGroup.class, EditGroup.class })
    private String schemeAdjustment;

    /**
     * 药学监护计划调整是否被选择（无false 有true）
     */
    private String carePlanAdjustmentOption;

    /**
     * 药学监护计划调整
     */
    // @NotBlank(message = "药学监护计划调整不能为空", groups = { AddGroup.class, EditGroup.class })
    private String carePlanAdjustment;

    /**
     * 中药饮片方案调整
     */
    private String traditionalPills;

    /**
     * 用药建议是否被选择
     */
    private String medicationSummaryOption3;

    /**
     * 用药建议
     */
    private String pillsSuggest;

    /**
     * 签名人
     */
    private String signer;

    /**
     * 用药教育是否被选择（无false 有true）
     */
    private String pillsEducationOption;

    /**
     * 用药教育
     */
    private String pillsEducation;

    /**
     * 监护分级（0一级 1二级 2三级）
     */
    private String guardianLevel;

    /**
     * 药物治疗方案集合
     */
    private List<MedicalRecordBo> careDetailMedicalList;

    /**
     * 中药饮片集合
     */
    private List<MedicalRecordBo> traditionalMedicalList;
}
